package com.yamin.reader.adapter; import java.util.ArrayList; import java.util.List; import android.content.ContentResolver; import android.content.Context; import android.graphics.Color; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.TextView; import com.yamin.reader.R; import com.yamin.reader.database.DbDataOperation; import com.yamin.reader.model.Book; import com.yamin.reader.utils.ToolUtils; public class BookHisFavAdaper extends BaseAdapter { private LayoutInflater mInflater; private List<Book> mData; private Context mContext; private int[] itemState; private boolean isEditMode = false; private Button curDel_btn; private float x,ux,y; private ContentResolver resolver; // private boolean actionModeStarted; public BookHisFavAdaper(Context context, List<Book> mData) { mInflater = LayoutInflater.from(context); this.mData = mData; mContext = context; resolver=context.getContentResolver(); } public List<Book> getmData() { return mData; } public void setmData(ArrayList<Book> smData) { this.mData = smData; } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } public int[] getItemState() { return itemState; } public void setItemState(int[] itemState) { this.itemState = itemState; } public boolean isEditMode() { return isEditMode; } public void setEditMode(boolean isEditMode) { this.isEditMode = isEditMode; } /* * public int[] getItemState() { return itemState; } * * public void setItemState(int[] itemState) { this.itemState = itemState; } */ @Override public View getView( int position, View convertView, ViewGroup parent) { final int p=position; ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.book_fav_histo_item_listview, null); holder.img = (RelativeLayout) convertView.findViewById(R.id.cover); holder.title = (TextView) convertView.findViewById(R.id.tvBookName); holder.title1 = (TextView) convertView.findViewById(R.id.tvBookSize); holder.title2 = (TextView) convertView.findViewById(R.id.tvBookDate); holder.btnDel = (Button) convertView.findViewById(R.id.del); } else { holder = (ViewHolder) convertView.getTag(); } if(ToolUtils.returnSuffix(mData.get(position).getBookName()).contains(".txt")){ holder.img.setBackground(mContext.getResources().getDrawable(R.drawable.listview_txtcover)); } else if(ToolUtils.returnSuffix(mData.get(position).getBookName()).contains(".epub")){ holder.img.setBackground(mContext.getResources().getDrawable(R.drawable.listview_epubcover)); } else if(ToolUtils.returnSuffix(mData.get(position).getBookName()).contains(".html")){ holder.img.setBackground(mContext.getResources().getDrawable(R.drawable.listview_htmlcover)); } else if(ToolUtils.returnSuffix(mData.get(position).getBookName()).contains(".oeb")){ holder.img.setBackground(mContext.getResources().getDrawable(R.drawable.listview_oebicon)); } else if(ToolUtils.returnSuffix(mData.get(position).getBookName()).contains(".mobi")){ holder.img.setBackground(mContext.getResources().getDrawable(R.drawable.listview_mobiicon)); } else{ holder.img.setBackground(mContext.getResources().getDrawable(R.drawable.listview_othercover)); } convertView.setBackgroundResource(R.drawable.mm_listitem_simple); convertView.setOnTouchListener(new OnTouchListener() { // public boolean onTouch(View v, MotionEvent event) { // final ViewHolder holder = (ViewHolder) v.getTag(); if (event.getAction() == MotionEvent.ACTION_DOWN) { // x = event.getX(); if (curDel_btn != null) { curDel_btn.setVisibility(View.GONE); } v.setBackgroundResource(R.drawable.list_focused_holo); } else if (event.getAction() == MotionEvent.ACTION_UP) {//״ // ux = event.getX(); if (holder.btnDel != null) { if (Math.abs(x - ux) > 20) { holder.btnDel.setVisibility(View.VISIBLE); curDel_btn = holder.btnDel; } v.setBackgroundResource(R.drawable.mm_listitem_simple); } } else if (event.getAction() == MotionEvent.ACTION_MOVE) { v.setBackgroundResource(R.drawable.list_focused_holo); } else { v.setBackgroundResource(R.drawable.mm_listitem_simple); } return false; } }); // holder.title.setText(mData.get(position).getBookName()); holder.title1.setText(mData.get(position).getBookSize()); holder.title1.setTextColor(Color.RED); holder.title2.setText(mData.get(position).getBookAddTime()); holder.btnDel.setOnClickListener(new OnClickListener() { public void onClick(View v) { if(curDel_btn!=null) curDel_btn.setVisibility(View.GONE); DbDataOperation.deleteFavBook(resolver, mData.get(p).getBookName()); mData.remove(p); notifyDataSetChanged(); } }); convertView.setTag(holder); return convertView; } public final class ViewHolder { public RelativeLayout img; public TextView title; public TextView title1; public TextView title2; public Button btnDel; } }